﻿#ifndef DMCREATOR_H
#define DMCREATOR_H

/**
 * @file DMCreator.h
 * @author LiYuan
 * @email 18069211@qq.com
 * @version v1.0
 * @license GPL2.0
 * @brief libdmtx 库的一个简单封装，用于在 Qt 程序中生成 DM 条形码。
 * @details 因为用到了 QPainter 和 QImage， 所以需要 QtGui 模块。
 *          可用于 Qt4 和 Qt5 代码中。Qt6 还没有测试。
 * @copyright 2015-2022
 */

#include <QString>
#include <QPainter>
#include "BarcodeCreator.h"
#include "dmtx.h"
class DMCreator : public BarcodeCreator
{
public:
    DMCreator();
    bool encodeString(QString str) override;
    bool encodeString8Bit(QString str) override; // 采用 Local8Bit 编码方式。
    bool renderNoBackground(QPainter &painter, QRect rect) const override;
    QSize size() const override;
    bool isValid() const override;
private:
     DmtxEncode * m_enc = nullptr;
};

#endif // DMCREATOR_H
